| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1451 人关注过本帖
标题:求助3道题,在线等回复!
只看楼主 加入收藏
wswprince
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-9-19
收藏
 问题点数:0 回复次数:10 
求助3道题,在线等回复!
1.计算数列之和:n-n/2+n/3-n/4+…-n/100。

2.大学里对不同性质的学生听课收费不同。某校是这样规定的:本校全日制学生不收费;本校夜大学生选课12学分及以下付200元,然后每增加一个学分付20元;对外校学生选课12学分及以下付600元,然后每增加一个学分付60元。输入某个学生的编号,选课学分以及学生类型,编程计算该学生应付的学费。

3.若某数的平方具有对称性质,则该数称为回文数,如11的平方为121,称11为回文数,请找出1~256中所有的回文数

搜索更多相关主题的帖子: 在线 
2004-12-27 17:43
断线风筝
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2004-5-20
收藏
得分:0 

问题还挺多,先说第一个

int sum(int n) { int s,i,flag=1; s=0; for(i=1;i<=100;i++) { s+=n/i*flag; flag=-flag; } return s; }

2004-12-27 18:00
断线风筝
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2004-5-20
收藏
得分:0 

第二个不明确,输入某个学生的编号,选课学分以及学生类型,编程计算该学生应付的学费。

学生的类型怎么输入,输入几代表什么类型的学生,不明确这个没法写程序,因为需要判断

2004-12-27 18:02
时空之蕊
Rank: 2
等 级:新手上路
威 望:3
帖 子:691
专家分:0
注 册:2004-10-31
收藏
得分:0 

第二题:

/*大学里对不同性质的学生听课收费不同。某校是这样规定的:本校全日制学生不收费; 本校夜大学生选课12学分及以下付200元,然后每增加一个学分付20元; 对外校学生选课12学分及以下付600元,然后每增加一个学分付60元。 输入某个学生的编号,选课学分以及学生类型,编程计算该学生应付的学费 */

#include <stdio.h>

int WorkCost(int ,int );

void main() { char studentId[20]; int studentCreditHour,studentType; int cost;

printf("Input the Student ID:"); scanf("%s",studentId);

printf("Input the [%s] Credit Hour:",studentId); scanf("%d",&studentCreditHour);

printf("Input the [%s]\nType(1 is this school,2 is evening university,3 is others):",studentId); scanf("%d",&studentType);

cost=WorkCost(studentCreditHour,studentType); printf("[%s] is cost : %d\n",studentId,cost);

}

int WorkCost(int studentCreditHour,int studentType) { switch ( studentType ) { case 1: return 0; case 2: if ( studentCreditHour <= 0 ) { return 0; } else if ( studentCreditHour <= 12 ) { return 200; } else { return 200 + (studentCreditHour - 12) * 20; } case 3: if ( studentCreditHour <= 0 ) { return 0; } else if ( studentCreditHour <= 12 ) { return 600; } else { return 200 + (studentCreditHour - 12) * 60; } default: return 0; } }


我渴望掌控时空的核心——用最先进的技术,打造无比美丽的世界!
2004-12-27 18:13
zinking
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:916
专家分:0
注 册:2004-12-5
收藏
得分:0 

其实你提的要求太含糊了,要详细点。

可以多用几条判断语句来根据学号计费。也可一用case 语句阿

学生的类型应该是个字符串的类型吧!

我也只能帮这么多了。


http://kongfuziandlife. http://codeanddesign.
2004-12-27 18:16
zinking
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:916
专家分:0
注 册:2004-12-5
收藏
得分:0 
这系统则么搞的,我的帖子怎么到这里来了阿

http://kongfuziandlife. http://codeanddesign.
2004-12-27 18:18
断线风筝
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2004-5-20
收藏
得分:0 

第三个,解决方法有很多种,下面是其中一种

// test.cpp : Defines the entry point for the console application. //

#include <stdlib.h> #include "string.h"

int isnum(int n);

void main() { int i; for(i=11;i<256;i++) { if(isnum(i)==1) printf("%d\n",i); } getchar(); }

int isnum(int n) { long a; int i,j; char b[10]; char c[10];

//计算平方数 a=n*n;

//将平方数转成字符串 itoa(a,b,10);

//将字符串进行倒置 j=strlen(b)-1; for(i=0;i<=strlen(b);i++) c[j-i]=b[i]; c[j+1]='\0';

//判断倒置以后的字符串是否和原来的相等 //如果相等就是回文数,返回1;否则返回0 if(strcmp(b,c)==0) return 1; else return 0; }

2004-12-27 18:22
时空之蕊
Rank: 2
等 级:新手上路
威 望:3
帖 子:691
专家分:0
注 册:2004-10-31
收藏
得分:0 

第一题:

/*1.计算数列之和:n-n/2+n/3-n/4+…-n/100。*/ #include <stdio.h>

double Work();

void main() { int n; double result;

printf("input n:"); scanf("%d",&n);

result = n * Work(); printf("Result is %.5f\n",result); }

double Work() { int i = 0; double result = 0;

for ( result = 0,i = 1;i <= 100; i++) { result += 1 / (double)i * ( (i % 2 == 1) ? 1 : -1 ); } return result; }


我渴望掌控时空的核心——用最先进的技术,打造无比美丽的世界!
2004-12-27 18:26
wswprince
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-9-19
收藏
得分:0 
多谢了................

2004-12-27 18:43
时空之蕊
Rank: 2
等 级:新手上路
威 望:3
帖 子:691
专家分:0
注 册:2004-10-31
收藏
得分:0 

第三题!!

/*3.若某数的平方具有对称性质,则该数称为回文数,如11的平方为121, 称11为回文数,请找出1~256中所有的回文数*/

#include <stdio.h>

int IsHWNumber(int);

void main() { int n;

printf("Input the Number:"); scanf("%d",&n);

if( IsHWNumber(n) == 1 ) { printf("the [%d] is HuiWenNumber!\n",n); } else { printf("the [%d] is not HuiWenNumber!\n",n); }

} int IsHWNumber(int n) { int result; int temp,m; int flag;

result = n * n; flag = 1; while ( flag ==1) { temp = result % 10; result /= 10; if (result == 0) { break; } for(;;) { m = result / temp; if ( m > 1 ) { temp *= 10; continue ; } else if ( m == 1 ) { result -= temp; break; } else { flag = 0; break; } } } return flag; }


我渴望掌控时空的核心——用最先进的技术,打造无比美丽的世界!
2004-12-27 20:24
快速回复:求助3道题,在线等回复!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016998 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved