首页 > 技术文章 > 真的是最后一次作业了!!!!

zhangleibb 2016-12-21 21:56 原文

一串数字最小的

#include<stdio.h>/*编译预处理命令*/
#include<string>
int main()/*定义主函数main*/
{
    int i;/*定义整数类型(int)的变量i*/
    char sx[80],smax[80];/*定义2个长度为80的数组*/ 
    scanf("%s",sx);/*输入x*/ 
    strcpy(smax,sx);/*将x中的内容复制到max中*/ 
    for(i=1;i<5;i++){/*循环5此*/ 
        scanf("%s",sx);/*输入x*/ 
        if(strcmp(sx,smax)>0)/*比较他俩大小*/ 
            strcpy(smax,sx);/*将x中的内容复制到max中*/ 
    }
    printf("max is %s\n",smax);/*输出提示语并且输出最大的值*/ 
    return 0;     /*返回一个整数0*/ 
}

输入一串数字统计大写小写数字和其他

# include <stdio.h>/*编译预处理命令*/

int main()/*定义主函数main*/

{

char a[50];/*定义一个长度为50的数字*/

int i; /*定义整数类型(int)的变量i*/

int q,w,e,r;/*定义整数类型(int)的变量q,w,r,e*/

q=w=e=r=0;/*将qwer初始值设为0*/

printf("请输入一段字符\n"); /*输出提示语并且换行*/

gets(a);/*输入a*/

for(i=0;i<=a[i];i++)/*建造循环 循环a次*/

if (a[i]>='A'&&a[i]<='Z')/*如果输入的是一个大写字母*/

q++; /*则q的值+1*/

else /*否则*/

if(a[i]>='a'&&a[i]<='z') /*如果输入的是一个小写字母*/

w++; /*则w+1*/

else /*否则*/

if(a[i]>='0'&&a[i]<='9') /*如果输入的是一个数字*/

e++; /*e+1*/

else /*否则*/

r++; /*r+1*/

printf("大写字母有%d个\n",q); /*输出提示语 并且输出q(大写字母)的值(个数)*/

printf("小写字母有%d个\n",w); /*输出提示语 并且输出w(小写字母)的值(个数)*/

printf("数字有%d个\n",e); /*输出提示语 并且输出e(数字)的值(个数)*/

printf("其他字符有%d个\n",r); /*输出提示语 并且输出r(其他字符)的值(个数)*/

} 

 

 

学生信息系统

#include<stdio.h>
struct student{/*学生信息结构定义*/ 
    int num;/*学号*/ 
    char name[10];/*姓名**/ 
    int a,b,c;/*三门课程成绩*/ 
    double ave;/*个人平均成绩*/ 
} ;
int main(void)/*定义主函数main*/ 
{
    int i,index,j,n;/*定义整数类型(int)的变量i index j n*/ 
    struct student students[50],temp;/*定义结构数组*/ 
    printf("输入学生数量:");/*调用printf()输出提示语*/ 
    scanf("%d",&n);    /*调用scanf()函数输入n*/ 
    for(i=0;i<n;i++){/*以n为循环上限使用for循环*/ 
        printf("input info of NO.%d:\n",i+1);/*调用printf()函数输出提示语*/ 
        printf("number:");/*输出提示语:学号*/ 
        scanf("%d",&students[i].num);/*输入num*/ 
        printf("name:") ;/*输出提示语:姓名*/ 
        scanf("%s",students[i].name);/*输入name*/ 
        printf("第一门成绩");/*调用printf()函数输出提示语*/ 
        scanf("%d",&students[i].a);/*调用scanf()函数输入a成绩*/ 
        printf("第二门成绩");/*调用printf()函数输出提示语*/ 
        scanf("%d",&students[i].b);/*调用scanf()函数输入b成绩*/ 
        printf("第三们成绩");/*调用printf()函数输出提示语*/ 
        scanf("%d",&students[i].c);/*调用scanf()函数输入c成绩
        +*/ 
        
students[i].ave=(students[i].a+students[i].b+students[i].c)/3.0; /*计算平均成绩*/ 
    }
    for(i=0;i<n-1;i++){/*外部循环*/ 
        index=i;
        for(j=i+1;j<n;j++)/*镶嵌内部循环*/ 
            if(students[j].ave>students[index].ave)/*比较平均成绩+*/
            index=j;
            temp=students[index];/*交换数组元素*/ 
            students[index]=students[i];/*交换数组元素*/ 
            students[i]=temp;/*交换数组元素*/ 
    }
    printf("num\t name\t ave\n");/*调用printf()输出提示语并且使其空出一个tab距离*/ 
    for(i=0;i<n;i++)/*以n为上限循环*/ 
        printf("%d\t %s\t %.21f\n",students[i].num,students[i].name,students[i].ave);/*分别输出学号(num),姓名(name),平均成绩(ave) */
        return 0;    /*返回一个整数0*/ 

冒泡排序

/*冒泡排序算法*/ 
#include<stdio.h>        /*编译预处理命令*/
void bubble(int a[],int n);
int main(void)    /*定义主函数main*/ 
{
    int n,a[8];/*定义整数类型(int)的变量n 和数组a*/
    int i;    /*定义整数类型(int)的变量i*/ 
    printf("输入n n<=8:");    /*调用printf函数输出文字*/ 
    scanf("%d",&n);/*调用scanf()函数输入n的值*/
    printf("输入a[%d]的值:",n);     
    for(i=0;i<n;i++)    /*以n为循环次数定义循环*/ 
        scanf("%d",&a[i]);    /*调用scanf()函数输入此时a的值*/
    bubble(a,n);    
    printf("after sorted,a[%d]=",n);    /*输出排序后的值*/ 
    for(i=0;i<n;i++)    /*for循环结构*/ 
        printf("%3d",a[i]);
        return 0;            /*返回一个整数0*/ 
} 

void bubble(int a[],int n)    /*n是数组a中待排序元素的数量*/ 
{
    int i,j,t;
    for(i=1;i<n;i++)        /*外部循环*/ 
        for(j=0;j<n-1;j++)  /*嵌置内部循环*/ 
        if(a[j]>a[j+1]){        /*比较两个元素大小*/ 
            t=a[j];a[j]=a[j+1];a[j+1]=t;/*如果前一个元素大则将两个元素互换*/ 
        }
}

 

小朋友维圈蜀黍

#include<stdio.h>/*编译预处理命令*/
void countoff(int n,int m,int out[])/*声明*/ 
{
    int i,num[n];       /*定义整数类型(int)的变量n 和数组*/ 
    for(i=0;i<n;i++)            /*循环n此的循环*/ 
        num[i]=i+1;
    int total=0;    /*定义整数类型(int)的变量total 赋值为0*/
    int rcount=0;/*定义整数类型(int)的变量让count 赋值为0*/
    int k=1;/*定义整数类型(int)的变量k 赋值为1*/
    while(total<n){  /*循环语句 条件为total<n*/ 
        for(i=0;i<n;i++){ /*循环语句*/ 
            if(num[i]){        /*如果num[i]为真,则往下执行*/ 
                rcount++;        /*rcount值增加*/ 
                if(rcount%m==0){    /*如果rcount为m倍数,退出圈子,存入out*/ 
                    out[total]=num[i];  
                    num[i]=0; 
                    total++;/*total值增加*/ 
                }
            }
        }
        printf("循环次数为%d\n",k);/**输出提示文字和k*/ 
        int j;
        for(j=0;j<total;j++) /*定义整数类型(int)的变量n */
            printf("%3d\n",out[j]);
        k++;
    }
}
int main()    /*定义主函数main*/ 
{
    int count,i,m,n,no;/*定义整数类型(int)的变量n count m i no*/ 
    int outb[50];/*定义整数类型(int)的长度为50的数组*/ 
    printf("输入总人数:");/*输出提示文字*/ 
    scanf("%d",&n);/*调用scanf()函数输入n*/ 
    printf("输入报数的数字m(m<n):");
    scanf("%d",&m);/*调用scanf()函数输入m*/ 
    countoff(n,m,outb);
    printf("退出的顺序编号为:\n");
    for(i=0;i<n;i++)
        printf("%3d",outb[i]);
}

作业总结:

最后一次作业了 感觉要说的还真没有。。。

 

 

 

 

遇到的问题:粗心

 

已解决

 

推荐阅读