一
// 编写一个程序,创建一个包含23个元素的数组,并在其中储存26个
// 小写字母。然后打印数组的所有内容。
#include"stdio.h"
int main(void)
#define ZM 26
{
char zimu [ZM];
char ch='a';
int a;
for(a=0;a<ZM;a++,ch++)
zimu[a]=ch;
for(a=0;a<ZM;a++)
printf("%2.3c",zimu[a]);
return 0;
}
二
// 使用嵌套循环,按下面的格式打印字符:
// $
// $$
// $$$
// $$$$
// $$$$$
#include"stdio.h"
#define zifu '$'
int main(void)
{
int a,b;
for(a=1;a<=5;a++)
{
for(b=1;b<=a;b++)
printf("%c",zifu);
printf("\n");
}
return 0;
}
三
// 使用嵌套循环,按下面的格式打印字母:
// F
// FE
// FED
// FEDC
// FEDCB
// FEDCBA
// 注意:如果你的系统不适应ASCII或其他以数字顺序编码的代码
// 可以把字符数组初始化为字母表中的字母:
// char lets【27】 = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”;
// 然后用数组下标选择单独的字母,例如lets【0】是‘A’,等等。
#include"stdio.h"
int main(void)
{
char c;
int a,b;
for(a=1;a<=6;a++)
{
c='F';
for(b=1;b<=a;b++)
{
printf("%c",c);
c-=1;
}
printf("\n");
}
return 0;
}
第三题第二种方法
#include"stdio.h"
int main(void)
{
int b,c;
char a='A';
char lets[26];
for(b=0;b<26;b++,a++)
lets[b]=a;
for(b=0;b<26;b++)
printf("%c",lets[b]);
printf("\n");
for(b=1;b<=6;b++)
{ for(c=5;c>5-b;c--)
printf("%c",lets[c]);
printf("\n");
}
return 0;
}
四
// 使用嵌套循环,按下面的格式打印字母:
// A
// BC
// DEF
// GHIJ
// KLMNO
// PQRSTU
// 如果你的系统不使用以数字顺序编码的代码,请参照练习3的方案解决。
#include"stdio.h"
int main(void)
{
char c;
int a,b;
c='A';
for(a=1;a<=6;a++)
{
for(b=1;b<=a;b++)
{
printf("%c",c);
c++;
}
printf("\n");
}
return 0;
}
第四题第二种方法
#include"stdio.h"
int main(void)
{
int b,c,d;
d=0;
char a='A';
char lets[26];
for(b=0;b<26;b++,a++)
lets[b]=a;
for(b=1;b<=6;b++)
{
for(c=1;c<=b;c++)
{printf("%c",lets[d]);
d++;
}
printf("\n");
}
return 0;
}
五
// 编写一个程序,提示用户输入大写字母。使用嵌套循环以下面
// 金字塔型的格式打印字母:
// A
// ABA
// ABCBA
// ABCDCBA
// ABCDEDCBA
// 打印这样的图形,要根据用户输入的字母来决定。例如,上面的图形是在用户输入E后的打印结果。
// 提示:用外层循环处理行,每行使用3个内层循环,分别处理空格、以升序打印字母、以降序打印字母
// 如果系统不适用ASCII或其他以数字顺序编码的代码,请参照练习3的解决方案。
#include"stdio.h"
int main(void)
{
char ch;
int a,b,d;
printf("please enter a letter:\n");
scanf("%c",&ch);
for(a=1;a<=5;a++)//ch-'A'+1
{
for(b=1;b<=5-a;b++)
printf(" ");
for(b=0;b<a;b++)
printf("%c",ch-4+b);
for(b=a-2;b>=0;b--)
printf("%c",ch-4+b);
printf("\n");
}
return 0;
}
第五题第二种方法
#include"stdio.h"
int main(void)
{
char ch;
int a,b,d;
char e='A';
char lets[26];
for(b=0;b<26;b++,e++)
lets[b]=e;
for (b = 0; b < 26; b++)
{
printf("%c",lets[b]);
}
printf("\nplease enter a letter:\n");
scanf("%c",&ch);
for(a=1;a<=5;a++)//ch-'A'+1
{
for(b=1;b<=5-a;b++)
printf(" ");
for(b=0;b<a;b++)
printf("%c",lets[0]+b);
for(b=a-2;b>=0;b--)
printf("%c",lets[0]+b);
printf("\n");
}
return 0;
}
六
// 编写一个程序打印一个表格,每一行打印一个整数、该数的平方、该数的立方。
// 要求用户输入表格的上下限。使用一个for循环
#include"stdio.h"
int main(void)
{
int low,hight;
printf("Please enter the lower limit of integer:\n");
scanf("%d",&low);
printf("Please enter the upper limit of integer:\n");
scanf("%d",&hight);
printf("\ninteger square cube\n");
printf("——————————————————\n");
for( ;low<=hight;low++)
{
printf("%7d %7d %7d\n",low,low*low,low*low*low);
printf("——————————————————\n");
}
return 0;
}
七
// 编写一个程序把一个单词读入一个字符数组中,然后倒序打印这个单词。
// 提示strlen()函数(第4章介绍过)可用于计算数组最后一个字符的下标
#include <stdio.h>
#include <string.h>
int main (void)
{
char str[20];
int max;
int i;
printf ("Enter a word:\n");
scanf ("%s", str);
max = strlen (str) - 1;
for (i = max; i >= 0; i--)
printf ("%c", str[i]);
return 0;
}
八
// 编写一个程序,要求用户输入两个浮点数,并打印两数之差除以两数乘积的结果
// 在用户输入非数字之前,程序应循环处理用户输入的每对值。
#include"stdio.h"
int main(void)
{
float a,b,c,d;
printf("please enter tow float nonber:");
while(scanf("%f %f",&a,&b)==2)
{
c=a-b;
d=a*b;
printf("%f-%f=%f\n",a,b,c);
printf("%f*%f=%f\n",a,b,d);
printf("%f/%f=%f\n",c,d,c/d);
printf("please enter tow float nonber again:\n");
}
return 0;
}
九
// 修改练习8,使用一个函数返回计算的结果。
#include"stdio.h"
float HANSHU(float n,float p);
int main(void)
{
float a,b,q;
printf("please enter tow float nonber:");
while(scanf("%f %f",&a,&b)==2)
{
q=HANSHU(a,b);
printf("%f\n",q);
}
return 0;
}
float HANSHU(float n,float p)
{ float c,d,q;
c=n-p;
d=n*p;
q=c/d;
return q;
}
如有问题,及时会答复