C语言入门学习-C上机实验七要求 下载本文

内容发布更新时间 : 2024/5/28 20:53:30星期一 下面是文章的全部内容请认真阅读。

for(i=0;i<10;i++) if(n[i]!=0) printf(\}

4.编程以如下等腰三角形的形状输出杨辉三角形的前5行。程序的一小部分已给出,请编写完整。 1

1 1

1 2 1 1 3 3 1 1 4 6 4 1

【提示:依然借助二维数组在其下三角中赋值,只是输出时,每行先输出若干空格,再输出该行的每个元素。】

#include

#define N 5 main()

{int a[N][N],i,j; for(i=0;i

a[i][j]=a[i-1][j-1]+a[i-1][j];

/*之前与课堂介绍一样,只在以下输出时,每行输出相应空格*/ for(i=0; i

{for(j=N-i; j>=0; j--)printf(\ \ /*两个空格*/ for(j=0; j<=i; j++) printf(\ printf(\ } }

二、完善题:

1.任意读入一个字符串,判断其是否为回文串。(左右对称的字符串称为“回文串”,例如“level”、“deed”等)【注意:字符串以空字符'\\0'作为结束标志!】

#include #include main()

{char a[30],b[30]; int i,j,k; gets(a);

k=__strlen(a)__;

for(i=0, j=k-1; i<=k-1; i++, j--) /*将a中的串逆序存放到b中*/

b[j]=a[i]; b[k]=____ '\\0'__;

if(__strcmp(a,b)==0__)

printf(\ else

printf(\not a palindrome string\\n\}

2.任意读入一个十进制正整数,将其转换成十六进制形式的字符序列后输出。例如:读入整数46,输出字符序列2E。(46)10=(2E)16

【提示:一个十进制正整数m转换成x进制数的思路是,将m不断地除以x取余数,直到商为0时终止,以反序输出余数序列即得到结果。】 #include main() {int sjz;

char ys[80]; int i,k,r;

scanf(\ k=0;

while(sjz!=0) {r=sjz;

if(r<10) ys[k]= ___r+'0'___; /*将数值0~9转换成字符'0'~'9'*/ else ys[k]= r+'A'-10;

sjz=_____ sjz/16_____; k++; }

for(i=__k-1__;i>=0;i--) /*将余数序列逆序输出*/ putchar(ys[i]); printf(\}