好的,所以我有一个主要做一些输入,并询问用户是否完成输入输入y。如果没有,请键入n。
现在我面对这个问题:
使用以下原型作为指南编写函数: int CaseCheck(char a,char b)
•必须将函数称为“CaseCheck”
•函数必须接受两个字符参数
•如果两个字符都是字母,则函数将返回1 字符,并且是相同的忽略情况。
•在所有其他条件下,函数将返回0.
•您的函数需要处理任何有效的ASCII字符 正在进入。
•在您的主要功能中,您应该修改以前的代码 要求用户输入'y'或'n'来使用此功能(和 隐含地也接受'Y'和'N'作为有效的回答。)
以下是代码:
int main()
{
int maxAssignments = 0;
float MarksAwarded[100];
float MarksAvailable[100];
char grade;
char finish = 'n';
//enter in the marks
do
{
printf("Enter the marks awarded:");
scanf("%f", &MarksAwarded[maxAssignments]);
printf("Enter the marks available:");
scanf("%f", &MarksAvailable[maxAssignments]);
printf("If you have finished, type y. \n");
scanf(" %c", &finish);
maxAssignments++;
} while (finish != 'y');
printf("Calculating your grade...\n");
//do the calulation.
grade = GradeFromTotalRawMarks(MarksAwarded, MarksAvailable, maxAssignments);
printf("The grade is %c\n", grade);
return 0;
}
我不认为显示此任务需要其他功能,但如果您需要,我会编辑该帖子。
答案 0 :(得分:0)
如果两个字符都是字母字符,则函数将返回1,并且忽略大小写相同。
ctype.h (ie. "character type") contains many functions for identifying and manipulating characters。您可以使用isalpha
和toupper
来完成您的功能。
首先,如果a
或b
不是字母,请保释。您可以使用isalpha
。
#include <ctype.h>
int CaseCheck(char a, char b) {
if( !isalpha(a) || !isalpha(b) ) {
return 0;
}
既然你知道他们是角色,你需要比较他们忽略他们的情况。执行此操作的基本方法是将它们标准化为相同的大小写。上部或下部,无关紧要。我将使用tolower
。
if( tolower(a) == tolower(b) ) {
return 1;
}
如果这些都不起作用,则返回false。
return 0;