三道程序题



1.第一题的关键是需要想到用switch函数来解决问题,别把问题想的太复杂。

#include<stdio.h>

char name[4];

void fun1()
{
	printf("请选择第二个字母h/o/e: ");
	fflush(stdin);

	if(name[1]=='o')	name[1]=getchar();
		{name[2]='u';name[3]='o';}
	if(name[1]=='e')
		{name[2]='a';name[3]='o';}
	if(name[1]=='h')
	{
		printf("请选择第三个字母o/e: ");
		fflush(stdin);
		name[2]=getchar();
		if(name[2]=='o')
			name[3]='u';
		if(name[2]=='e')
			name[3]='a';
	}
}


void fun2()
{
	printf("请选择第二个字母h/o/e: ");
	fflush(stdin);
	name[1]=getchar();
	if(name[1]=='u')
		{name[2]='o';name[3]='u';}
	if(name[1]=='e')
		{name[2]='a';name[3]='o';}
	if(name[1]=='h')
	{
		printf("请选择第三个字母o/e: ");
		fflush(stdin);
		name[2]=getchar();
		if(name[2]=='o')
			name[3]='u';
		if(name[2]=='e')
			name[3]='a';
	}
}


int main(void)
{
	printf("请选择首字母t/y/s: ");
	name[0]=getchar();
	switch(name[0]) 
	{
	case 't':fun1();break;
	case 'y':
		{
			printf("请选择第二个字母a/u: ");
			fflush(stdin);
			name[1]=getchar();
			if(name[1]=='a')
				{name[2]='o';name[3]='u';}
			if(name[1]=='u')
				{name[2]='o';name[3]='u';}
		}break;
	case 's':
		fun2();break;
	}
	printf("给孩子名字取三(y)/四(n)个字母,请选择:");	
	fflush(stdin);
	switch(getchar())
	{
	case 'y':
		printf("%c%c%c\n",name[0],name[1],name[2]);break;
	
	case 'n':
		printf("%c%c%c%c\n",name[0],name[1],name[2],name[3]);
	}
	return 0;
}

2.第二题最简单,一个for循环就能解决了。

# include <stdio.h>
int main(void)
{
	int i,val;
	int sum=0;
	int j=0;
	
	scanf("%d",&val);
	for(i=1; i<=val; ++i)
	{
		j+=i;
		sum+=j;
	}
	printf("\n%d\n",sum);
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/loongstyle/article/details/79968911