c语言简单的程序设计

设计一个C语言程序,至少包括1个循环结构、1个选择结构和1个含有参数的用户自定义函数,包涵流程图,解决有创意的实际应用问题,可以简单一点。

这,你没有给明确的项目,只看你的要求的话,会有很多的方法,就是一个自定义函数,指针传参,然后switch函数作为选择机构,就这么简单。你可以按照这个思路去捋捋

img

img


 
#include<stdio.h>
    #include<conio.h>//getch的头文件
    #include<stdlib.h>//system的头文件 
    #include<string.h>
    //定义一个学生 
    typedef struct TagStudent
    { 
        int Num;//学号 
        char Name[20];//姓名 
        float Ascore;//平时成绩 
        float Hscore;//作业成绩 
        float Tscore;//考试成绩
        float total;//总成绩 
        struct TagStudent *next;//next指针变量 ,指向结构体变量 
    }Student;
Student *head=NULL;
    void Menu();
    void InputStudent();
 
    
    int main()
    {
        Menu();
        while(1)
        {   
            //    读取一个字符 
        char ch=getch(); 
            //打印菜单 
            if (ch!= '2')
            {
                system("cls");
                Menu();
                
            } 
            switch(ch)
             {
                case '1'://录入学生信息 
                    InputStudent();
                    break;    
 
                case '0'://退出系统 
                    printf("欢迎下次使用."); 
                    return 0;
                    break;                
            }            
        }
        return 0;
    } 
 
    void Menu()
    {
        
            printf("========欢迎使用学生成绩管理系统=======\n");//\t表示制表符
            printf("***************************************\n");
            printf("*\t    请选择功能列表            *\n");     
            printf("***************************************\n");
            printf("*\t    1.录入并保存学生信息      *\n");
 
        
            printf("*\t    0.退出系统                *\n");
            printf("***************************************\n");
        
    
            
    }
 
 
void InputStudent()
    {        
    
        Student* p=head;//当前节点 
        //找到尾节点 
        while(head!=NULL&&p->next!=NULL)
        {
            p=p->next; 
        }
        //定一个新节点
        Student *NewNode=(Student*)malloc(sizeof(Student));
        NewNode->next=NULL;
    
        if(head==NULL)
        {
            head=NewNode;
        }
        else{
            p->next=NewNode; 
        }
        printf("\n请输入学生信息\n ");
        //输入新的学元数据 
        printf("         学号:");
        scanf("%d", &NewNode->Num);
        printf("         姓名:");
        scanf("%s", NewNode->Name);
        printf("     平时成绩:");
        scanf("%f", &NewNode->Ascore);
        printf("     作业成绩:");
        scanf("%f", &NewNode->Hscore);
        printf("     考试成绩:");
        scanf("%f", &NewNode->Tscore);
        FILE *fp=fopen("E:\\student.txt","a");
        if(fp==NULL)
        {
            printf("打开文件失败\n");
            return ;
        }
        //写入数据 
        while(p!=NULL)
        {
            fprintf(fp,"%d %s %.2f  %.2f  %.2f\n",p->Num,
                                                p->Name,
                                                p->Ascore,
                                                p->Hscore,
                                                p->Tscore);    
            p=p->next; 
        }
        fclose(fp);        
        printf("学生信息录取并保存成功!\n");
    }

该程序用于删除字符串中非字母字符

#include <stdio.h>
#include <string.h>
void del(char s[])
{
    int len = strlen(s);
    int i,j,count=0;
    for (i = 0; i < len-count; i++)
    {
        if (s[i] < 'A' || s[i]>'z' || (s[i] > 'Z' && s[i] < 'a'))
        {
            for (j = i; j < len-count; j++)
                s[j] = s[j + 1];
            count++;
            i--;
        }
    }
    s[len - count] = '\0';
}
int main()
{
    char s[100]= {'\0'};
    int n;
    printf("请输入字符串数量:");
    scanf_s("%d", &n);    //输入字符串个数
    getchar();
    for (int i = 0; i < n; i++)    //依次输入n个字符串
    {
        
        printf("请输入第%d个字符串:", i + 1);
        gets(s);
        del(s);      //删除字符串中非字母字符
        puts(s);    //输出字符串
    }
    return 0;
}

输入输出:

img

流程图:

img

   //冒泡排序函数
void bubbleSort(int * arr, int len)  //int * arr 也可以写为int arr[]
{
    for (int i = 0; i < len - 1; i++)
    {
        for (int j = 0; j < len - 1 - i; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}
//打印数组函数
void printArray(int arr[], int len)
{
    for (int i = 0; i < len; i++)
    {
        cout << arr[i] << endl;
    }
}
int main() {
    bubbleSort(arr, len);
    printArray(arr, len);
    system("pause");
    return 0;
}

这不自己写?