跪求三道编程题!!!!都是《标准c语言基础教程》第四版里面的题~~求求各位高手了!期末考试用

~~1、使用简答题3中定义的结构编写一个c语言程序,接受来自一个用户的数字形式的月份,显示这个月份的名称和这个月份的天数。于是,在响应一个3的输入中,这个程序显示“Mar... ~~

1、使用简答题3中定义的结构编写一个c语言程序,接受来自一个用户的数字形式的月份,显示这个月份的名称和这个月份的天数。于是,在响应一个3的输入中,这个程序显示“March has 31days”(三月份有31天)。

答题3中定义的结构:struct monthdays

{

cha name[10];

int days;

}

2、a.编写一个名为coutlets()的函数,返回一个输入的字符串的字母数。数字、空格、标点符号、制表符和换行符不应该包含在返回的计数内。

b.编写一个简单的main()函数,测试练习7a中编写的countlets()函数。

3、a.一位教授构造了一个35行4列的二维双精度型数组。这个数组目前包含4个班学生的数值分数。编写一个c语言程序,确定小于60分范围中的分数的总个数、大于等于60且小于70分的总个数、大于等于70且小于80分的总个数、大于等于80且小于90分的总个数及大于等于90分的总个数。

b.你为练习a编写的函数应该如何修改成包括没有分数存在的情况?即,什么分数能够用于只是一个无效的分数?你的函数应该如何修改才能将计算这样的分数的情况排除在外?

谢谢大家了!!!!!!!跪谢!!!!!!这些都是基础的题……不要太深奥的编程
展开
 我来答
匿名用户
2009-12-27
展开全部
1.
//---------------------------------------------------------------------------

#include <stdio.h>

struct monthdays
{
char name[10];
int days;
} ;

int main(void)
{
struct monthdays mons[12]={{"January",31},{"Febrary",28},{"March",31},{"April",30},{"May",31},
{"June",30},{"July",31},{"August",31},{"September",30},{"October",31},
{"November",30},{"December",31}
} ;
int mon;
scanf("%d",&mon);
printf("%s has %d days",mons[mon-1].name,mons[mon-1].days);
return 0;
}
//---------------------------------------------------------------------------

2.
//---------------------------------------------------------------------------

#include <stdio.h>
#include <ctype.h>
#include <string.h>

int countlets(const char *str)
{
int i,s=0;
for (i = 0; str[i]; i++) {
if (isalpha(str[i])) {
++s;
}
}
return s;
}
int main(void)
{
char ss[]="1230*/-abccdfgert";
printf("%d",countlets(ss));
return 0;
}
//---------------------------------------------------------------------------

3.
a.
//---------------------------------------------------------------------------
void ct(double s[35][4],int *u6,int *b67,int *b78,int *b89,int *m9)
{
int i,j;

*u6=*b67=*b78=*b89=*m9=0;
for (i = 0; i<35; i++) {
for (j=0; j<4; j++) {
if (s[i][j]<60) {
(*u6)++;
}
else if (s[i][j]<70) {
(*b67)++;
}
else if (s[i][j]<=80) {
(*b78)++;
}
else if (s[i][j]<=90) {
(*b89)++;
}
else (*m9)++;
}

}
}
//---------------------------------------------------------------------------

b.
可以用负数表示是一个无效的分数:
//---------------------------------------------------------------------------
void ct(double s[35][4],int *u6,int *b67,int *b78,int *b89,int *m9)
{
int i,j;

*u6=*b67=*b78=*b89=*m9=0;
for (i = 0; i<35; i++) {
for (j=0; j<4; j++) {
if (s[i][j]>=0&&s[i][j]<60) {
(*u6)++;
}
else if (s[i][j]<70) {
(*b67)++;
}
else if (s[i][j]<=80) {
(*b78)++;
}
else if (s[i][j]<=90) {
(*b89)++;
}
else (*m9)++;
}

}
}
//---------------------------------------------------------------------------

2.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式