如何预防电信诈骗论文:请各位编程高手帮忙了!!!

来源:百度文库 编辑:神马品牌网 时间:2024/05/12 01:49:27
1、 优美和式:
在等式 中,若数字0,1,2,3,4,5,6,7,8,9在a,b,c三个数中出现一次且只出现一次,这样的等式为优美和式,如:56+1987=2043,743+859=1602均为优美和式。设计程序求出所有的优美和式,并统计出优美和式的个数。
2、 编写一个程序统计某班3 门课程的成绩,它们是语文、数学和英语。 先输入学生人数,然后按编号从小到大的顺序依次输入学生成绩,最后统计每门课程全班的总成绩和平均成绩以及每个学生课程的总成绩和平均成绩。
麻烦了,急交啊!
是C语言,计算机专业的

1、 优美和式:
#include "stdio.h"

int num[10] = {0};
int r = 0;

//根据数组num[]和下表x,y确定等式,及是否成立
int check(int x, int y)
{
long a = 0;
long b = 0;
long c = 0;
int i;

//不能以零开头
if (num[0]==0 || num[x]==0 || num[y]==0) {
return 0;
}

for (i=0; i<x; i++) { //计算a
a = a * 10 + num[i];
}

for (i=x; i<y; i++) { //计算b
b = b * 10 + num[i];
}

for (i=y; i<10; i++) { //计算c
c = c * 10 + num[i];
}

//符合条件返回1,并且打印结果,否则返回零
if (a+b == c) {
r++;
printf("%ld + %ld = %ld [%d]\n",a,b,c,r);
return 1;
} else {
return 0;
}
}

//递归函数,参数n为数组num[]的下标,返回值为符合条件等式的个数
int f(int n) {
int i;
int j;
int temp = 0; //存储的到的结果数量和
int t = 45;

//递归到最后一个数
if (n == 9) {
for (i=0; i<9; i++) {
t = t - num[i];
}
num[n] = t;

//是否符合a+b=c的条件
for (i=0; i<10; i++) {
for (j=i+1; j<10; j++) {
temp = temp + check(i,j);
}
}
return temp;
}

//遍历符合数值不重复的条件的值
for (i=0; i<10; i++) {
for (j=0; j<n; j++) {
if (i == num[j]) {
break;
}
}
//符合条件,作递归调用
if (j == n) {
num[n] = i; //i加入数组
temp = temp + f(n+1);
}
}

return temp;
}

void main()
{
int result;

result = f(0);
printf("totoal: %d\n",result);
}

其实我们可以把这样的和式看成
ABC+DEFG=HIJKDE 的形式 然后将0,1,2,3,4...9 全排列 再判断是否可行 用个循环就可以 .
第二题比较简单 可以用数据库完成

你要求的这两个程序并不难,但是我想不会有人去免费回答你的问题!因为要编程序的!或许你考虑花钱找程序员来做!!还有你没有说明你要什么程序C ,C++ ,VB,PB,等等不过也是简单的程序!不会太贵的