求一份答案 C语言编程:实验四 数组

求一份答案 C语言编程:实验四 数组,第1张

7. 编写程序打印出如下杨辉三角形。

解答: (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)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12246685.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存