个人水平有限,代码仅供参考,如有错误请多多谅解!!!!!
个人水平有限,代码仅供参考,如有错误请多多谅解!!!!!
个人水平有限,代码仅供参考,如有错误请多多谅解!!!!!
1.求出斐波那契数列的前30个,并添加近数组循环输出,每行五个。
# include <stdio.h>
# define NUM 30
int main(){
int a[NUM],i;
for (i=0;i<NUM;i++){
if (i==1||i==0)a[i]=1;
else{
a[i]=a[i-1]+a[i-2];
}
}
for (i=0;i<NUM;i++){
if (i%5==0&&i!=0)printf("\n");
printf("%10d",a[i]);
}
}
2.最大公约数
#include <stdio.h>
// 更相减损法
void test1(){
int a,b;
scanf("%d,%d",&a,&b);
while(a!=b){
if(a>b)a-=b;
if(b>a)b-=a;
}
printf("%d",a);
}
//辗转相除法
void test2(){
int a,b,t;
scanf("%d,%d",&a,&b);
while(b!=0){
t=a%b;
a=b;
b=t;
}
printf("%d",a);
}
main(){
test2();
}
3.从键盘输入56个学生的成绩,然后计算成绩的平均值
# include <stdio.h>
# define NUM 56
main(){
float stu[NUM];
float sum,ave;
sum=0;
ave=0;
for (int i=0;i<NUM;i++){
scanf("%f",&stu[i]);
sum+=stu[i];
}
ave=sum/NUM;
printf("%0.2f",ave );
}
4.
# include <stdio.h>
func (int a[],int k){
int i;
int s;//s 向后移动的次数
s=9-k;// k 6 s 3
int x[10];
//新的数组
for (i=0;i<s;i++){
x[i]=a[i+k+1];
// printf("%d",x[i]);
}
// a[0]-a[k] 元素右移
for (i=9;i>=0;i--){
a[i+s]=a[i];
}
//将除了0-k 元素 赋值给前边a[0]-a[k]右移后空出来的位置
for (i=0;i<s;i++){
a[i]=x[i];
}
//输出元素
for (i=0;i<10;i++){
printf("%d",a[i]);
}
return 0;
}
main (){
int a[]={1,2,3,4,5,6,7,8,9,10};
int p;
scanf("%d",&p);
func(a,p);
}
5.、
定义函intget_count(charname)计算字符name的长度,并返回结果在mai函数中定义一个字符数组,输入若干个字符,调用函数ger coent 计算字符的长度,并输出其计算结果
# include <stdio.h>
int get_count(char *name){
int t;
t=0;
// p=name;
while(*name!=0){
name++;
t++;
}
return t;
}
main(){
char name[50];
scanf("%s",name);
printf("%d",get_count(name));
;
}
6.
本题要求编写程序,将输入的个整数存入数组。中,然后计算这些数的平均值,再输出所有大于平均值的数。
# include <stdio.h>
#define NUM 20
main(){
int stu[NUM];
int sum;
float ave;
sum=0;
ave=0;
int t;
printf("输入存在元组中数据的个数:");
scanf("%d",&t);
for (int i=0;i<t;i++){
scanf("%d",&stu[i]);
sum+=stu[i];
}
ave=sum/t;
printf("平均数为:%0.2f\n",ave );
for (int i=0;i<t;i++){
if(stu[i]>ave){
printf("%d\t",stu[i]);
}
}
}
8.
某手机店每天早上进货,进货时需要记录手机的数量,以及每个手机的名称、所包含手机的数量、每个手机的单价,手机结构体定义如下
struct phone{
char namel15];
int count;
float price;}
#include <stdio.h>
struct phone
{
char name[15];
int count;
float price;
};
main(){
int t,i;
float sum;
struct phone p[5];
printf("输入需要记录的条数:");
scanf("%d\n",&t);
for ( i=0;i<t;i++){
// gets(p[i].name);
scanf("%s",p[i].name);
scanf("%d %f",&p[i].count,&p[i].price);
}
//计算总和
sum=0;
for (i=0;i<t;i++){
sum+=p[i].price*p[i].count;
}
for(i=0;i<t;i++){
printf("%s,%d,%f,\n",p[i].name,p[i].count,p[i].price);
}
printf("%0.2f",sum);
}
8.
# include <stdio.h>
#define NUM 20
//获得通过的人数
getPass(int score[] ,int t){
int sum,i;
int pass;
float ave;
sum=0;
ave=0;
for (i=0;i<t;i++){
sum+=score[i];
}
pass=0;
ave=sum/t;
printf("平均数为:%0.2f\n",ave );
for (int i=0;i<t;i++){
if(score[i]>ave){
pass++;
// printf("%d\t",score[i]);
}
}
return pass;
};
void Sort(int score[],int t){
//冒泡排序
for(int i=0;i<t-1;i++){
for (int j=0;j<t-i-1;j++){
if (score[j]>score[j+1]){
int temp=score[j];
score[j]=score[j+1];
score[j+1]=temp;
}
}
}
for (int i=0;i<t;i++){
printf("%d ",score[i]);
}
}
main(){
int stu[NUM];
int t;
printf("输入存在元组中数据的个数:");
scanf("%d",&t);
for (int i=0;i<t;i++){
scanf("%d",&stu[i]);
}
printf("及格人数为:%d\n",getPass(stu,t));
Sort(stu,t);
}
9.
计算学生成绩:有一个结构体类型,包含三个成员:学生姓名、学生学号和5门课程成绩,其结构体类型定义如下
struct student{
charname[10];//姓名
charnum[10];/学号
float score[5];//5科成绩
}编写程序由键盘输入10个学生的姓名、学号和5科成绩,计算并输出没位学生的姓名、学生学号和平均成绩,平均成绩保留两位小数。
#include <stdio.h>
struct student{
char name[10];//姓名
char num[10];//学号
float score[5];//5科成绩
float ave;
};
main(){
int t,i;
float sum;
struct student stu[10];
printf("输入需要记录的条数:");
scanf("%d\n",&t);
for ( i=0;i<t;i++){
// scanf("%s",stu[i].name);
// scanf("%s",stu[i].num);
scanf("%s%s%f%f%f%f%f",stu[i].name,stu[i].num,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3],&stu[i].score[4]);
}
//计算平均
for (i=0;i<5;i++){
stu[i].ave=0;
sum=0;
for (int j=0;j<5;j++){
sum+=stu[i].score[j];
stu[i].ave=sum/5;
}
}
for(i=0;i<t;i++){
printf("%s,%s,%0.2f\n",stu[i].name,stu[i].num,stu[i].ave);
}
}
10.
# include <stdio.h>
int MAX,J;
float fun(float array[],int n){
MAX=0;
J=0;
float sum,ave;
sum=0;
ave=0;
//找最大值
for (int i=0;i<n;i++){
if (array[i]>MAX){
MAX=array[i];
}
sum+=array[i];
}
ave=sum /n;
//最大值个数
for (int i=0;i<n;i++){
if (array[i]==MAX){
J++;
}
}
return ave;
}
main(){
float arr[10],a;
int t;
printf("输入需要记录的条数:");
scanf("%d\n",&t);
for (int i=0;i<t;i++){
scanf("%f",&arr[i]);
}
a=fun(arr,t);//先执行函数 全局变量才会有值
printf("平均值:%0.2f,最大分数:%d,人数:%d",a,MAX,J);
//fun(arr,t);
}