1.编写一个C语言程序,可以在主界面选择各种功能,界面可以参考下图
2.程序应包括但不限于以下功能①输入两个数,输出这两个数的和②根据输入的成绩,输出相应等级③输出斐波拉契数列的前N项,N由用户输入④输出九九乘法表⑤自选项目,功能数量不能少于5个。
3.所有子功能必须以自定义函数的形式定义和使用。
#include <stdio.h>
float sum(float a,float b){
return a+b;
}
void score(float a){
if(a<=100&&a>=90){printf("A\n");}
else if(a<90&&a>=80){printf("B\n");}
else if(a<80&&a>=70){printf("C\n");}
else if(a<70&&a>=60){printf("D\n");}
else{printf("E\n");}
}
void fib(int n)
{
int i,a,b,c;
for(i=0;i<n;i++)
{
if(i>1)
{
c=a+b;
printf("%d ",c);
a=b;
b=c;
}
else
{
a=1;
b=1;
printf("1 ");
}
}
}
void biao()
{
int sum;
int i, j;
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
if (j <= i)//防止输出两遍
{
sum = i * j;
printf("%d*%d=%d\t", i, j, sum);
}
}
printf("\n");
}
}
int main(){
printf("-----------小程序锦集----------\n");
printf("1、两数求和\n");
printf("2、成绩等级判断\n");
printf("3、输出非波拉契数列的前N项\n");
printf("4、输出99乘法表\n");
printf("0、Bye-Bye\n");
int i,n,result=1;
float a,b,s;
for(;;)
{
printf("请输入你的选择:\n");
scanf("%d",&i);
switch (i)
{
case 1:
printf("请输入两个数:\n");
scanf("%f %f",&a,&b);
printf("结果是:%.2f\n",sum(a,b));
break;
case 2:
printf("请输入你的成绩:\n");
scanf("%f",&s);
score(s);
break;
case 3:
printf("请输入N的值:\n");
scanf("%d",&n);
fib(n);
break;
case 4:
biao();
break;
case 5:
result=0;
break;
default:
printf("非法输入!\n");
break;
}
if(result==0){break;}
}
return 0;
}
#include "stdio.h"
main()
{int i,j,result;
for(i=1;i<10;i++)
{for(j=1;j<10;j++)
{
result=i*j;
printf("%d*%d=%-6d",i,j,result);/*-6d表示左对齐,占6位*/
}
printf("\n");/*每一行后换行*/
}
}
#include<stdio.h>
int main(){
int x;
int a,b,c;
for(x=100;x<1000;x++){
{
a=x/100;
b=x%100/10;
c=x%10;
}
if(x==a*a*a+b*b*b+c*c*c){
printf("%d\n",x);
}
}
return 0;
}
#include<stdio.h>
int Fibon(int n)
{
if (n == 1|| n == 2)
{
return 1;
}
else
{
return Fibon(n-1)+ Fibon(n-2);
}
}
int main()
{
for (int i = 1; i <= 10; i++)
{
printf("%d ", Fibon(i));
}
return 0;
}
#include<stdio.h>
#define MAX 40
int main()
{
int arr[MAX][MAX] = { 0 };//这里限制了幻方的大小,大家可以自行修改
int n = 0;
int k = 2;
scanf("%d", &n);
arr[0][n / 2] = 1;//这个就是初始的K
int a = 0;//行
int b = n / 2;//列
for (int i = 1; i <= n * n; i++)
{
if (a == 0 && b != n - 1)//在第一行但不在最后一列
{
arr[n - 1][b + 1] = k;
a = n - 1;
b = b + 1;
}
else if (a != 0 && b == n - 1)//不在第一行但在最后一列
{
arr[a - 1][0] = k;
a = a - 1;
b = 0;
}
else if (a == 0 && b == n - 1)//在第一行最后一列
{
arr[a + 1][b] = k;
a = a + 1;
}
else if (a != 0 && b != n - 1)//既不在第一行也不在最后一列
{
if (arr[a - 1][b + 1] == 0)
{
arr[a - 1][b + 1] = k;
a = a - 1;
b = b + 1;
}
else
{
arr[a + 1][b] = k;
a = a + 1;
}
}
k++;
}
for (int i = 0; i < n; i++)//打印数组->幻方
{
for (int j = 0; j < n; j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}