解答: (1)源程序代码:(2)运行结果截图:(3)运行结果分析:
#include<stdio.h>
#define N 10
void main()
{
int s[N][N]
for(int i=0i<Ni++)
{
S[i][0]=s[i][i]=1
}
for(i=2i<Ni++)
for(int j=1j<Ij++)
s[i][j]=s[i-1][j-1]+s[i-1][j]
for(i=0i<Ni++)
{ for(int j=0j<=ij++)
printf(“\启慎虚t%d”,s[i][j])
printf(“\n”)
}
}
8. 分析下列程序,查错并修改。
#include <stdio.h>
#include <string.h>
void main()
{ char a[10],b[10]
int c,d,kchar 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=0k<dk++)
{ch=a[k]a[k]=b[k]b[k]=ch}
printf("a=%s\n",a)
printf("b=%s\n",b)
}
解答:(1) 源程序代码:(2)运行结果截图:(3)运行结果分析:
9.预习下面的程序的功能,写出预习结果。并上机验证。
#include <stdio.h>
#include <string.h>
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 <stdio.h>
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 <stdio.h>
#include <ctype.h>
void main ( )
{ int num[26],ichar c
for (i=0i<26i++)num[i]=0
while ( (c=getchar())(1) != '#') /* 统计从终端输入的大写字母个数*/
if (isupper(c))num[c-65]++ (2)
for (i=0i<26i++) /* 输出大写字母和该字母的个数*/
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)运行结果分析:
i=2,j=3,k=i+j=5{
大括号中贺亮新定义的变量k仅在大括号中有用,大括号中所有用到k的都是这个禅枝宽变量,我们也可以简单地认为这个变量名为kk,它与main函数中的k不是同一个变量,虽然同名
kk=8,i==3不成立不执行printf,如果真要输出的话会输出kk的值
}
printf输出2换行5换搭燃行
1#include <stdio.h>轮陵 //原文未包含
void main()
{ int *p ,*q
int a,b
printf("手桐滚Input a ,b")
scanf("%d,%d"毕余,&a,&b)//本来有错
p=&aq=&b
printf("%d %d\n",a,b)
printf("%d %d\n",*p,*q)
}
2
include <stdio.h>//
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10}
int sum,*p
sum=0
p=a//原文错
while(p<a+10)//原文会陷程序于死循环
sum+=*p++
printf("sum=%d\n",sum)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)