} }
15.以”#”为字符,打印一个正三角形。 #include
void main() {
int i,j,N; N=3;
for(i=1;i<=N;i++) {
for(j=1;j<=N+i-1;j++) if(j<=N-i)printf(\ else printf(\ printf(\}
getch(); }
16.以”@”为字符,打印一个6行的倒正三角形。 #include
main() {int i,j;
for(i=6;i>=0;i--) {
for(j=0;j<(6-i);j++) printf(\
for(j=0;j<(i*2+1);j++) printf(\printf(\}
getch(); }
17. 打印10~1000之间满足下列条件的所有数: 正序读和反序读都相同,例如:55、232等。
#include
第31页(共41页)
{int i;
for(i=10;i<=1000;i++) {
if(i!=0)
{if((i==0&&i<100)||(i/100==i&&i>100)) printf(\}
getch(); }
18.从键盘任意输入一个大于0且小于1000的整数,然后输出此整数的所有整数因子。例如:输入12,输出1,2,3,4,6,12。 #include
int t,i;
scanf(\if(t<1000)
{for(i=1;i<=t;i++)
if(t%i==0)printf(\getch(); }
19.编写一个函数,将字符串中的元音字母输出。例如字符串为”boy and girl”, 则输出为:#include
char f(char b[20],char e[5]); char a[20],c[5]; int i;
scanf(\f(a,c);
for(i=0;i<5&&c[i]!='\\0';i++) printf(\}
char f(char b[20],char e[5]) { int i,j=0;
for(i=0;i<20&&b[i]!='\\0';i++)
if(b[i]=='a'||b[i]=='e'||b[i]=='i'||b[i]=='o'||b[i]=='u') {e[j]=b[i]; j++;}
第32页(共41页)
oai getch();
} 20.从键盘上任意输入一个字符串S,输出其中的数字字符。例如输入为:sd12we$*55abc8,则输出结果为:12558 #include
printf(\ scanf(\ while(*c != '\\0') { if('0'<=*c && *c<='9') { printf(\c++; continue; } else c++; } printf(\ return 0; }
21.编写一个函数,将两个字符串连接起来。(不能用strcat函数)。 #include \#include \main() {
char *s1,*s2;
printf(\ scanf(\ scanf(\ con_str(s1,s2); getch(); }
con_str(char *s1,char *s2) {
char *s;
while(*s1 != '\\0')
第33页(共41页)
{
s = s1; s1++;
printf(\ s++; }
while(*s2 != '\\0') {
s = s2; s2++;
printf(\ s++; } }
22.编写一个函数:完成判断方阵a[N][N]是否关于主对角线对称(相等),若对称则返回1,否则返回0。
#include
{int f(int b[3][3]); int a[3][3],i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf(\printf(\}
int f(int b[3][3]) {int i,j,t=0; for(i=0;i<3;i++) for(j=0;j<3;j++)
{if(b[i][j]!=b[j][i]){t=1;break;}}; return(fabs(t-1));
}
23.输入10个学生(包括姓名和成绩)的信息,找出成绩最高的,然后输出该学生的姓名和成绩。
#include
{struct student {
char name[20]; float score;
第34页(共41页)
};
struct student stu[10]; int i,maxi;
for(i=0;i<10;i++) {
printf(\
scanf(\printf(\
scanf(\};
maxi=0;
for(i=1;i<10;i++)
if(stu[i].score>stu[maxi].score){maxi=i;};
printf(\}
24.输入10个学生(包括姓名、计算机、英语)的信息,找出二门课的平均成绩最高的学生,然后输出该学生的姓名和成绩。 #include
struct student {
char name[20]; float english; float computer; };
struct student stu[10]; int i,maxi;
for(i=0;i<10;i++) {
printf(\
scanf(\printf(\
scanf(\printf(\
scanf(\};
maxi=0;
for(i=1;i<10;i++)
if(0.5*(stu[i].english+stu[i].computer)>0.5*(stu[maxi].english+stu[maxi].computer)){maxi=i;};
printf(\highest score
第35页(共41页)