C Primer Plus第六章编程题

文章详细介绍了CPrimerPlus第六章中的编程题目,涉及数组初始化、嵌套循环、字符打印、ASCII字符、用户输入处理、函数应用、浮点数计算和数组倒序等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C Primer Plus第六章编程题


 1.编写一个程序,创建一个包含26个元素的循环,并在其中储存26个小写字母。然后打印数组里面的所有内容。

这里写两种方法:

#include<stdio.h>
int main(void)
{
	char yibo[26];
	int i;
	for(i=0;i<=25;i++)
	{
		scanf("%c",&yibo[i]);
		printf("%c",yibo[i]);
	}
	return 0;
}
#include<stdio.h>
int main(void)
{
	char yibo[26];
	int i;
	char c='a';
	for(i=0;i<=25;i++,c++)
	{
		yibo[i]=c;
		printf("%c ",yibo[i]);
	}

	return 0;
}

 2.使用嵌套循环,按下面格式打印字符:

¥¥

¥¥¥

¥¥¥¥

¥¥¥¥¥

#include<stdio.h>
int main(void)
{
	int i;
	char zifu[5];
	char ch='$';
	int x;
	for(i=0;i<5;i++)
	{
		for(x=0;x<=i;x++)
		{
			zifu[x]='$';
			printf("%c",zifu[x]);
		}
		printf("\n");
	}
	return 0;
}

3.使用嵌套循环,按下面的格式打印字母:

F

FE

FED

EEDC

FEDCB

FEDCBA

#include<stdio.h>
int main(void)
{
	int i,j;
	char c;
	for(i=1;i<=6;i++)
	{
		for(j=0,c='F';j<i;j++,c--)
		{
			printf("%c",c);
		}
		printf("\n");
	}
	return 0;
}

4.使用嵌套循环,按下面的格式打印字母:

BC 

DEF 

GHIJ 

KLMNO 

PQRSTU
如果你的系统不使用以数字顺序编码的代码,请参照练习3的方案解决。

#include<stdio.h>
int main(void)
{
	int i,j;
	char c='A';
	for(i=1;i<=6;i++)
	{
		for(j=0;j<i;j++,c++)
		{
			printf("%c",c);
		}
		printf("\n");
	}
	return 0;
}


5.编写一个程序,提示用户输入大写字母。使用嵌套循环以下面金字塔型的格式打印字母:
              A 

            ABA 

          ABCBA 

        ABCDCBA

      ABCDEDCBA
打印这样的图形,要根据用户输入的字母来决定。例如,上面的图形是在用户输入E后的打印结果,提示:用外层循环处理行,每行使用3个内层循环,分别处理空格、以升序打印字母、以降序打印字母。如果系统不使用ASCII或其他以数字顺序编码的代码,请参照练习3的解决方案。


#include<stdio.h>
int main(void)
{
	int i,j,num;
	char c;
	printf("Enter you want to print:\n");
	scanf("%c",&c);
	char ch='A';
	num=c-'A'+1;
	for(i=1;i<=num;i++)
	{
		for(j=0;j<num-1;j++)
			printf(" ");
			for(ch='A';j<num;j++)
				printf("%c",ch++);
				for(j=1,ch-=2;j<i;j++,ch--)
					printf("%c",ch);
		printf("\n");
	}
	return 0;
}

6.编写一个程序打印一个表格,每一行打印一个整数、该数的平方、该数的立方。要求用户输入表格的上下限。使用一个for循环。

#include<stdio.h>
int main()
{
	int start,end;
	int i;
	printf("please enter the start number:");
	scanf("%d",&start);
	printf("please enter the end number:");
	scanf("%d",&end);
	printf("	Ori:	Square:		Cubic:\n");
	for(i=start;i<=end;i++)
	{
		printf("%6d,%10d,%10d",i,i*i,i*i*i);
		printf("\n");
	}
	return 0;
}


7.编写一个程序把一个单词读入一个字符数组中,然后倒序打印这个单词。提示:strlen()函数(第4章介绍过)可用于计算数组最后一个字符的下标。

#include<stdio.h>
#include<string.h>
int main()
{
	char word[30];
	int i;
	printf("please enter the words:");
	scanf("%s",&word);
	printf("%d\n",strlen(word));
	for(i=strlen(word)-1;i>=0;i--)
	{
		printf("%c",word[i]);
	}
	printf("\n");
	return 0;
}


8. 编写一个程序,要求用户输入两个浮点数,并打印两数之差除以两数乘积的结果。在用户输入非数字之前,程序应循环处理用户输入的每对值。

#include<stdio.h>
int main()
{
	float a,b;
	while(scanf("%f %f",&a,&b)==2)
	{
		printf("%f",(a-b)/(a*b));
	}
	return 0;
}

9.修改练习8,使用一个函数返回计算的结果。

#include<stdio.h>
float calc(float a,float b);
int main()
{
	float a,b;
	while(scanf("%f %f",&a,&b)==2)
	{
		printf("The answer is:%f",calc(a,b));
	}
	return 0;
}
float calc(float a,float b)
{
	float result;
	result=(a-b)/(a*b);
	return result;
}


10.编写一个程序,要求用户输入一个上限整数和一个下限整数,计算从上限到下限范围内所有整数的平方和,并显示计算结果。然后程序继续提示用户输入上限和下限整数,并显示结果,直到用
户输入的上限整数小于下限整数为止。程序的运行示例如下:
Enter lower and upper integer limits: 5 9
The sums of the squares from 25 to 81 is 255
Enter next set of limits:3 25
The sums of the squares from 9 to 625 is 5520
Enter next set of limits:5 5
Done

#include<stdio.h>
int main()
{
	int i;
	int sum,lower,upper;
	printf("Enter lower and upper integer limits:");
	scanf("%d %d",&lower,&upper);
	
	while(upper>lower)
{
	int sum=0;
	for(i=lower;i<=upper;i++)
	{
		sum=i*i+sum;
	}
		printf("The sum of the squares form %d to %d is %d:\n",lower,upper,sum);
		printf("Enter lower and upper integer limits:");
		scanf("%d %d",&lower,&upper);
}
	printf("Done");
	return 0;
}


11.编写一个程序,在数组中读入8个整数,然后按倒序打印这8个整数。

#include<stdio.h>
int main()
{
	int i;
	int num[8];
	for(i=0;i<8;i++)
	{
		scanf("%d",&num[i]);
	}
	for(i=7;i>=0;i--)
	{
		printf("%d",num[i]);
	}
	return 0;
}


做不动了,小白好难。明天继续后几道题。加油!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值