大学程序设计c语言 求解答

img

img

img

img

img

img

大学c语言题目 拍照的 希望各位朋友可以帮助一下 可以有偿后续还会有题目 欢迎来答 有偿的

1

#include <stdio.h>

int main() {
    char c;
    printf("Enter a character: ");
    scanf("%c", &c);
    if (c >= 'a' && c <= 'z') {
        c -= 32; // 小写字母转大写字母
    } else if (c >= 'A' && c <= 'Z') {
        c += 32; // 大写字母转小写字母
    }
    printf("%c", c);
    return 0;
}



    //第1题
    float x;
    int y;
    printf("Enter a number:");
    scanf("%f", &x);
    if (x > 0) 
        y = 1;
    else if (x == 0) 
        y = 0;
    else 
        y = -1;
    printf("y=%d", y);

    //第2题
    char c;
    printf("Enter a character: ");
    scanf("%c", &c);
    if (islower(c))
        toupper(c); //小写字母转大写字母
    else if (isupper(c))
        tolower(c); //大写字母转小写字母
    printf("%c", c);

    //第3题
    int year;
    printf("请输入年份:");
    scanf("%d", &year);
    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
        printf("%d年是闰年", year);
    else
        printf("%d年不是闰年", year);

    //第4题
    int num;
    printf("Enter a number:");
    scanf("%d", &num);
    switch (num) 
    {
    case 1:
        printf("111\n");
        break;
    case 2:
        printf("222\n");
        break;
    case 3:
        printf("333\n");
        break;
    case 4:
        printf("444\n");
        break;
    default:
        printf("error\n");
        break;
    }

    //第5题
    int day;
    scanf("%d", &day);  // 从键盘输入一个整数
    switch (day) 
    {
    case 1:
        printf("Monday");
        break;
    case 2:
        printf("Tuesday");
        break;
    case 3:
        printf("Wednesday");
        break;
    case 4:
        printf("Thursday");
        break;
    case 5:
        printf("Friday");
        break;
    case 6:
        printf("Saturday");
        break;
    case 7:
        printf("Sunday");
        break;
    default:
        printf("Error");  // 其他情况输出"Error"
        break;
    }

    //第6题
    double a, b, c;
    scanf("%lf %lf %lf", &a, &b, &c);
    if (a + b > c && a + c > b && b + c > a) 
    {  // 判断是否构成三角形
        if (a == b && b == c)
            printf("equilateral triangle\n");
        else if (a == b || b == c || a == c) 
        {
            if (a * a + b * b == c * c || a * a + c * c == b * b || b * b + c * c == a * a)
                printf("isosceles right triangle\n");
            else
                printf("isosceles triangle\n");
        }
        else if (a * a + b * b == c * c || a * a + c * c == b * b || b * b + c * c == a * a)
            printf("right triangle\n");
        else
            printf("arbitrary triangle\n");
    }
    else
        printf("not triangle\n");
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/238540
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:【C语言】帮你解决c语言中数组的问题
  • 除此之外, 这篇博客: 【C】看了这篇博客,我学会了用C语言写一个通讯录系统中的 所有源代码 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • #include <stdio.h>
    #include <string.h>
    #include <Windows.h>
    #pragma warning(disable:4996)
    typedef struct contactNode{	//定义联系人结构体
    	char name[15];
    	char sex[15];
    	int age;
    	char number[20];
    	char address[100];
    };
    
    contactNode nodes[1000];	//全局定义1000个联系人的数组用于存放联系人
    int countIndex = 0;		//用于控制数组下标
    
    void addContactInformation(){
    	printf("请输入你要添加的联系人信息\n");
    	printf("姓名:");
    	scanf("%s", &nodes[countIndex].name);
    	printf("性别:");
    	scanf("%s", &nodes[countIndex].sex);
    	printf("年龄:");
    	scanf("%d", &nodes[countIndex].age);
    	printf("电话号码:");
    	scanf("%s", &nodes[countIndex].number);
    	printf("地址:");
    	scanf("%s", &nodes[countIndex].address);
    	countIndex++;
    	printf("联系人添加成功!\n");
    }
    
    void deleteSpecifiedContactInformation(){
    	printf("请输入你要删除的联系人信息\n");
    	char deleteName[15] ;		//用于存储需要删除的联系人姓名
    	char deleteNumber[20];		//用于存储需要删除的联系人电话号码
    
    	printf("姓名:");
    	scanf("%s", &deleteName);
    	printf("电话号码:");
    	scanf("%s",&deleteNumber);
    
    	int tempIndex = -1;		//用于存储需要删除的联系人在数组中的的下标
    	int i;
    	for (i = 0; i < countIndex; i++)	//寻找需要删除的联系人
    	{
    		if (strcmp(deleteName, nodes[i].name) == 0 && strcmp(deleteNumber, nodes[i].number) == 0){
    			tempIndex = i;
    			break;
    		}
    	}
    	if (tempIndex == -1){
    		printf("无此联系人!\n");
    	}
    	else{
    		for (int j = tempIndex; j < countIndex - 1; j++){	//将该联系人之后所有联系人前移一个位置,将需要删除的联系人覆盖
    			strcpy(nodes[j].name, nodes[j + 1].name);
    			strcpy(nodes[j].sex, nodes[j + 1].sex);
    			nodes[j].age = nodes[j + 1].age;
    			strcpy(nodes[j].number, nodes[j + 1].number);
    			strcpy(nodes[j].address, nodes[j + 1].address);
    		}
    		countIndex--;	//联系人总数减1
    		printf("删除成功!");
    	}
    }
    
    void findSpecifiedContactInformation(){
    	printf("请输入你要查询的联系人信息\n");
    	char findName[15];		//用于存储需要查询的联系人姓名
    	char findNumber[20];		//用于存储需要查询的联系人电话号码
    
    	printf("姓名:");
    	scanf("%s", &findName);
    	printf("电话号码:");
    	scanf("%s", &findNumber);
    
    	int tempIndex = -1;		//用于存储需要删除的联系人在数组中的的下标
    	int i;
    	for (i = 0; i < countIndex; i++)	//寻找需要删除的联系人
    	{
    		if (strcmp(findName, nodes[i].name) == 0 && strcmp(findNumber, nodes[i].number) == 0){
    			tempIndex = i;
    			break;
    		}
    	}
    	if (tempIndex == -1){
    		printf("无此联系人!\n");
    	}
    	else{
    		printf("=========================================================================================\n");
    		printf("|Name\t|Sex\t|Age\t|Tel\t\t\t|Address\t\t\t\n");
    		printf("-----------------------------------------------------------------------------------------\n");
    		printf("|%s\t|%s\t|%d\t|%s\t\t\t|%s\t\t\t\n", nodes[tempIndex].name, nodes[tempIndex].sex, nodes[tempIndex].age, nodes[tempIndex].number, nodes[tempIndex].address);
    		printf("-----------------------------------------------------------------------------------------\n");
    		printf("=========================================================================================\n");
    		printf("查询成功!\n");
    	}
    }
    
    void modifySpecifiedContactInformation(){
    	printf("请输入你要修改的联系人信息\n");
    	char findName[15];		//用于存储需要查询的联系人姓名
    	char findNumber[20];		//用于存储需要查询的联系人电话号码
    
    	printf("待修改联系人姓名:");
    	scanf("%s", &findName);
    	printf("待修改联系人电话号码:");
    	scanf("%s", &findNumber);
    
    	int tempIndex = -1;		//用于存储需要修改的联系人在数组中的的下标
    	int i;
    	for (i = 0; i < countIndex; i++)	//寻找需要修改的联系人
    	{
    		if (strcmp(findName, nodes[i].name) == 0 && strcmp(findNumber, nodes[i].number) == 0){
    			tempIndex = i;
    			break;
    		}
    	}
    	if (tempIndex == -1){
    		printf("无此联系人!\n");
    	}
    	else{
    		printf("修改后的姓名:");
    		scanf("%s", &nodes[tempIndex].name);
    		printf("修改后的性别:");
    		scanf("%s", &nodes[tempIndex].sex);
    		printf("修改后的年龄:");
    		scanf("%d", &nodes[tempIndex].age);
    		printf("修改后的电话号码:");
    		scanf("%s", &nodes[tempIndex].number);
    		printf("修改后的地址:");
    		scanf("%s", &nodes[tempIndex].address);
    		printf("修改成功!");
    	}
    }
    
    void emptyAllContacts(){
    	countIndex = 0;
    	printf("通讯录已清空!\n");
    }
    
    void displayAllContactInformation(){
    	printf("=========================================================================================\n");
    	printf("|Name\t|Sex\t|Age\t|Tel\t\t\t|Address\t\t\t\n");
    	printf("-----------------------------------------------------------------------------------------\n");
    	for (int i = 0; i < countIndex; i++)
    	{
    		printf("|%s\t|%s\t|%d\t|%s\t\t\t|%s\t\t\t\n", nodes[i].name, nodes[i].sex, nodes[i].age, nodes[i].number, nodes[i].address);
    		printf("-----------------------------------------------------------------------------------------\n");
    	}
    	printf("=========================================================================================\n");
    }
    
    void sortContactsByName(){
    	for (int i = 0; i < countIndex; i++)
    	{
    		for (int j = i; j < countIndex; j++){
    			if (strcmp(nodes[i].name, nodes[j].name) > 0){
    				contactNode tempnode;
    
    				strcpy(tempnode.name, nodes[i].name);
    				strcpy(tempnode.sex, nodes[i].sex);
    				tempnode.age = nodes[i].age;
    				strcpy(tempnode.number, nodes[i].number);
    				strcpy(tempnode.address, nodes[i].address);
    
    				strcpy(nodes[i].name, nodes[j].name);
    				strcpy(nodes[i].sex, nodes[j].sex);
    				nodes[i].age = nodes[j].age;
    				strcpy(nodes[i].number, nodes[j].number);
    				strcpy(nodes[i].address, nodes[j].address);
    
    				strcpy(nodes[j].name, tempnode.name);
    				strcpy(nodes[j].sex, tempnode.sex);
    				nodes[j].age = tempnode.age;
    				strcpy(nodes[j].number, tempnode.number);
    				strcpy(nodes[j].address, tempnode.address);
    			}
    		}
    	}
    	printf("已升序排列!\n");
    }
    
    void menu(){
    	while (1){
    		printf("\n==========通讯录==========\n||");
    		printf("0.退出系统             |\n||");
    		printf("1.添加联系人信息       |\n||");
    		printf("2.删除指定联系人信息   |\n||");
    		printf("3.查找指定联系人信息   |\n||");
    		printf("4.修改指定联系人信息   |\n||");
    		printf("5.显示所有联系人信息   |\n||");
    		printf("6.清空所有联系人       |\n||");
    		printf("7.以名字排序所有联系人 |\n");
    		printf("==========================\n");
    		int choice;
    		printf("\n请输入您的选择:");
    		scanf("%d", &choice);
    		switch (choice)
    		{
    		default:
    			printf("输入不合法!\n");
    			break;
    		case 0:
    			printf("byebye!!\n");
    			return;
    		case 1:
    			addContactInformation();
    			break;
    		case 2:
    			deleteSpecifiedContactInformation();
    			break;
    		case 3:
    			findSpecifiedContactInformation();
    			break;
    		case 4:
    			modifySpecifiedContactInformation();
    			break;
    		case 5:
    			displayAllContactInformation();
    			break;
    		case 6:
    			emptyAllContacts();
    			break;
    		case 7:
    			sortContactsByName();
    			break;
    		}
    	}
    }
    
    int main(){
    	menu();
    	system("pause");
    	return 0;
    }