2.大学里对不同性质的学生听课收费不同。某校是这样规定的:本校全日制学生不收费;本校夜大学生选课12学分及以下付200元,然后每增加一个学分付20元;对外校学生选课12学分及以下付600元,然后每增加一个学分付60元。输入某个学生的编号,选课学分以及学生类型,编程计算该学生应付的学费。
3.若某数的平方具有对称性质,则该数称为回文数,如11的平方为121,称11为回文数,请找出1~256中所有的回文数
----------------解决方案--------------------------------------------------------
问题还挺多,先说第一个
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; }
----------------解决方案--------------------------------------------------------
第二个不明确,输入某个学生的编号,选课学分以及学生类型,编程计算该学生应付的学费。
学生的类型怎么输入,输入几代表什么类型的学生,不明确这个没法写程序,因为需要判断
----------------解决方案--------------------------------------------------------
第二题:
/*大学里对不同性质的学生听课收费不同。某校是这样规定的:本校全日制学生不收费; 本校夜大学生选课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; } }
----------------解决方案--------------------------------------------------------
其实你提的要求太含糊了,要详细点。
可以多用几条判断语句来根据学号计费。也可一用case 语句阿
学生的类型应该是个字符串的类型吧!
我也只能帮这么多了。
----------------解决方案--------------------------------------------------------
这系统则么搞的,我的帖子怎么到这里来了阿
----------------解决方案--------------------------------------------------------
第三个,解决方法有很多种,下面是其中一种
// 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; }
----------------解决方案--------------------------------------------------------
第一题:
/*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; }
----------------解决方案--------------------------------------------------------
多谢了................
----------------解决方案--------------------------------------------------------
第三题!!
/*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; }
----------------解决方案--------------------------------------------------------