C Primer Plus chapter 6 编程练习

这些代码片段展示了C语言中的一些基本操作,包括定义数组并打印字母表,使用嵌套循环创建特定图案,计算数字的平方和立方,单词倒序,浮点数运算,计算序列和,以及处理字符串。

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

test1

#include<stdio.h>
#define ABC 26
int main(void)
{
	char c_a[26];
	int i_a = 0;
	for (i_a = 0; i_a < ABC; i_a++)
		c_a[i_a]= 'a' + i_a;
	for (i_a = 0; i_a < ABC; i_a++)
		printf("%c",c_a[i_a]);

	return 0;
}

test2

#include<stdio.h>
#define NUM 5

int main(void)
{
	int i , a , b ;
	for (i = 1; i <= NUM; i++)
	{
		b = i;
		for (a=1;a<=b;a++)
		printf("$");
		printf("\n");
	}

	return 0;
}

test3

#include<stdio.h>
#define NUM 6

int main(void)
{
	int i, a, b;
	for (i = 1; i <= NUM; i++)
	{
		b = i;
			for (a = 0; a < b; a++)
			printf("%c",'F'-a);
		printf("\n");
	}

	return 0;
}

test4

#include<stdio.h>
#define NUM 6

int main(void)
{
	char lets[27] = "ABCDEFGHIJKLMNOPQISTUVWXYZ";
	int i=0, a=0, b=0;
	for (a = 0; a < NUM; a++)
	{
		for (b = 0; b <= a; b++)
		printf("%c", lets[i++]);
		printf("\n");
	}
	
	return 0;
}

test5

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main(void)
{
	char lets[28] = "ABCDEFGHIJKLMNOPQISTUVWXYZ";
	int i = 0, a = 0, b = 0,c=0,s=0;

	printf("请输入大写字母:");
	scanf("%c",&lets[27]);
	if ((lets[27]>='A' && lets[27]<='Z') == 1)//判断是否为大写字母
	{
		printf("输入的大写字母为:%c\n", lets[27]);
		s = lets[27] - 'A';

		for (i = 0; i <=s; i++)//纵向贯穿
		{
			for (a = s-i-1; (a <=s)&&(a>= 0); a--)//横向空格
			{
				printf(" ");
			}
			for (b = 0; b <= i; b++)//横向升序
			{
				printf("%c", lets[b]);
			}
			for (c = i - 1; (c < i) && (c >= 0); c--)//横向降序
			{
				printf("%c", lets[c]);
			}
			printf("\n");
		}
	}
	printf("Done\n");
	return 0;
}

test6

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main(void)
{
	int a, b, c;
	printf("请分别输入表格的上下限:\n");
	scanf("%d", &a);
	scanf("%d", &b);
	printf("数字|平方|立方\n");
	for (c = a; c <= b; c++)
		printf("  %d    %d    %d\n", c, c * c, c * c * c);
	return 0;
}

test7

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>

int main(void)
{
	char word[20];
	int a,i;
	printf("请输入一个单词:");
	scanf("%s",word);
	printf("输入的单词为:%s\n",word);
	a = strlen(word);
	printf("单词倒序为:");

	for (i = a-1; i >= 0; i--)
		printf("%c",word[i]);
	return 0;
}

test8

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main(void)
{
	float a, b,c,d;
	do
	{
		printf("请输入两个浮点数(两数以,相隔):");
		scanf("%f,%f", &a, &b);
		d = (a - b) / (a * b);
		printf("两数只差除以两数乘积的结果为:%f", d);
	} while ((scanf("%f,%f", &a, &b) == 1));
	return 0;
}

test9

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
float num(float aa, float bb);

int main(void)
{
	float a, b, c;
	do
	{
		printf("请输入两个浮点数(两数以,相隔):");
		scanf("%f,%f", &a, &b);
		c=num(a,b);
		printf("两数只差除以两数乘积的结果为:%f",c);
	} while ((scanf("%f,%f", &a, &b) == 1));
	return 0;
}
float num(float aa,float bb)
{
	float cc;
	cc = (aa - bb) / (aa * bb);
	return cc;
}

test10

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int a, b, c, d, i;
	long sum;
	printf("Enter lower and upper integer limits:");
	scanf("%d %d",&a,&b);
	for (i = a,sum=0; i <= b; i++)
		sum = sum + i * i;
	c = a * a;
	d = b * b;
	printf("The sums of the squares from %d to %d is %d\n",
		c,d,sum);
	for(;a<b;)
	{
		printf("Enter next set of limits:");
		scanf("%d %d", &a, &b);
		if (a >= b)
			break;
		for (i = a, sum = 0; i <= b; i++)
			sum = sum + i * i;
		c = a * a;
		d = b * b;
		printf("The sums of the squares from %d to %d is %d\n",
			c, d, sum);
	}
	
	printf("Done\n");
	return 0;
}

test11

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define NUM 8

int main(void)
{
	int i, j;
	int c_a[NUM];
	printf("请输入8个整数:\n");
	for (j = 0; j < NUM; j++)
		scanf("%d", &c_a[j]);
	printf("8个整数倒序:");
	for (i = NUM - 1; i >= 0; i--)
		printf("%d", c_a[i]);

	return 0;
}

test12

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int i_a(NUM);
int NUM;

int main(void)
{
	printf("请输入运行项数:");
	while((scanf("%d", &NUM)==1)&&(NUM>0))
	{
		long double i, j;
		long double sum1 = 0.0, sum2 = 0.0;
		for (j = 1; j <= NUM; j++)
		{
			sum1 = 1 / j + sum1;
		}
		printf("sum1为:%Lf\n", sum1);
		for (j = 1; j <= NUM; j++)
		{
			sum2 = (1 / j + sum2) * i_a(NUM);
		}
		printf("sum2为:%Lf\n", sum2);
		printf("请输入运行项数:");
	}
	return 0;
}

int i_a(NUM)
{
	int pro = -1;
	for (int i = 0; i < NUM; i++)
		pro = (-1) * pro;
	return pro;
}

test13

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define NUM 8

int main(void)
{
	int i=0, j,pro;
	int c_a[NUM];
	
	for (j = 0,pro=1; j < NUM; j++)
	{
		pro = 2 * pro;
		c_a[j] = pro;
	}
	printf("8个整数为:");

	do
	{
		printf("%d\t", c_a[i]);
		i++;
	} while (i<NUM);
	
	return 0;
}

test14

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define NUM 8

int main(void)
{
	int i, j,k,p;
	double sum=0;
	double d_a[NUM];
	double d_b[NUM];

	for (i = 0,j=0; i< NUM,j<NUM; i++,j++)
	{
		printf("请输入第%d个值:",i+1);
		scanf("%lf",&d_a[i]); 
		//printf("%lf\n",d_a[i]);
		sum = sum+d_a[i];
		d_b[j] = sum;	
		//printf("%lf\n", d_b[j]);

	}

	printf("两个数组为:\n");
	for (k = 0; k < NUM; k++)
	{
		printf("%f\t",d_a[k]);
	}
	printf("\n");
	for (p = 0; p < NUM; p++)
	{
		printf("%f\t", d_b[p]);
	}
	
	return 0;
}

test15

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#define NUM 255

int main(void)
{
	char word[NUM];
	int a, i;
	printf("请输入一个字符:");
	scanf("%s", word);
	printf("输入的字符为:%s\n", word);
	a = strlen(word);
	printf("倒序为:");

	for (i = a - 1; i >= 0; i--)
		printf("%c", word[i]);
	return 0;
}

test16

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main(void)
{
	unsigned int i;
	float sum1, sum2;

	i = 1, sum1 = 0.0, sum2 = 100.0;
	do
	{
		sum1 = 10*i + 100;
		sum2 = sum2 * 1.05;
		i++;
	} while (sum1>=sum2);
	printf("需要%d年Deirdre的投资超过Daphne\n",i-1);
	printf("两人资产为:\n");
	printf("Deirdre:%f\nDaphne :%f", sum2, sum1);

	return 0;
}

test17

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define NUM 1000000

int main(void)
{
	float sum = NUM;
	int i;
	for (i = 0; sum > 0; i++)
	{
		sum = sum * 1.08 - 100000;	
	}
	printf("%d年账号剩余:%f\n",i-1,sum+100000);
	printf("%d年取完", i );
	return 0;
}

test18

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main(void)
{
	int sum=5;
	int i=1;
	for (i = 1; sum < 150; i++)
	{
		sum = (sum - i) * 2;
		printf("第%d周,朋友数为:%d\n",i,sum);
	}
	
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值