7. 编写程序打印出如下杨辉三角形。
解答: (1)源程序代码:(2)运行结果截图:(3)运行结果分析:
#include
#define N 10
void main()
{
int s[N][N];
for(int i=0;i
S[i][0]=s[i][i]=1;
}
for(i=2;i
for(i=0;i
printf(“\t%d”,s[i][j]);
printf(“\n”);
}
}
8. 分析下列程序,查错并修改。
#include
#include
void main()
{ char a[10],b[10];
int c,d,k; char ch;
scanf("%s",&a);---à scanf("%s",a);
scanf("%s",&b); --à scanf("%s",b);
printf("a=%s,b=%s\n",a,b);
c=strlen(a);
d=strlen(b);
if(c>d)
for(k=0;k
printf("a=%s\n",a);
printf("b=%s\n",b);
}
解答:(1) 源程序代码:(2)运行结果截图:(3)运行结果分析:
9.预习下面的程序的功能,写出预习结果。并上机验证。
#include
#include
void main( )
{ char s1[80], s2[40];
int i = 0, j = 0;
printf(" \n Please inputstring1:");
scanf("%s", s1);
printf(" \n Please inputstring2:");
scanf("%s", s2);
while (s1[i]!= '\0' )
i++;
while (s2[j]!= '\0' )
s1[i++]=s2[j ++];
s1[i]= '\0';
printf("\n New string: %s",s1);
}
解答:(1)运行结果截图:(2)运行结果分析:
S2附加到S1的最后
10. 补充以下程序,使其功能是对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。例如:输入的两个字符串分别为abcdefg和abceef,则输出为-1。程序如下:
#include
void main ( )
{ char str1[100],str2[100];
int i,s;
printf("\n Input string1:\n");gets(str1);
printf(“\n Input string2:\n”);gets(str2);
i= 0 (1) ;
while((str1[i]==str2[i])&&(str1[i]!= ‘\0’ (2) ))
i++;
s= str1[i]=str2[i] (3) ;
printf("%d\n",s);
}
解答:(1) 源程序代码:(2)运行结果截图:(3)运行结果分析:
11. 补充以下程序,功能是统计从终端输入字符串中每个大写字母的个数。用#号作为输入结束标志。
#include
#include
void main ( )
{ int num[26],i; char c;
for (i=0;i<26;i++)num[i]=0;
while ( (c=getchar())(1) != '#') /* 统计从终端输入的大写字母个数*/
if (isupper(c))num[c-65]++ (2) ;
for (i=0;i<26;i++) /* 输出大写字母和该字母的个数*/
if (num[i])printf("%c:%d\n",i+65 (3) ,num[i]);
}
解答: (1)源程序代码:(2)运行结果截图:(3)运行结果分析:
12.编写程序,功能是输入若干个字符串,求出每个字符串的长度,并打印最长的字符串的内容。以“stop”作为输入的最后一个字符串。
解答:(1)源程序代码:(2)运行结果截图:(3)运行结果分析:
13.编写程序,输入字符串s1和s2以及插入位置f,在字符串s1中的指定位置f处插入字符串s2。如:输入"BEIJING"、"123"和位置3,则输出:"BEI123JING"。解答: (1)源程序代码:(2)运行结果截图:(3)运行结果分析: