c语言练习12周(15~16)

编写int fun(char s[])函数,返回字串中所有数字累加和

|----|---|---|---|
| 题干 | 编写int fun(char s[])函数,返回字串中所有数字累加和。 若传入串"k2h3yy4x"返回整数9;若传入串"uud9a6f7*"返回整数22 |||

cpp 复制代码
//只填写要求的函数
int  fun(char  a[]) {
	int i = 0, s = 0;
	while (a[i]) {
		if (a[i] > '0' && a[i] < '9') {
			s += (a[i] - '0');
		}
        i++;
	}
	return s;
}

编写void fun(int a,int b)函数,将整型参数a,b的和差积商,通过整型全局变量h,c,j,s返回

|----|---|---|---|
| 题干 | 编写void fun(int a,int b)函数,将整型参数a,b的和差积商,通过整型全局变量h,c,j,s返回,四个全局变量已经定义。 若传入18,6返回24,12,108,3。 |||

cpp 复制代码
//只填写要求的函数
void  fun(int  a,int  b){
    h=a+b;
    c=a-b;
    j=a*b;
    s=a/b;
}

编写double fun(int a[],int n,int b[])函数,返回一维数组a中n个正整数的平均值,大于平均值的各数按顺序通过b数组返回,b数组各元素初始为0。

|----|---|---|---|
| 题干 | 编写double fun(int a[],int n,int b[])函数,返回一维数组a中n个正整数的平均值,大于平均值的各数按顺序通过b数组返回,b数组各元素初始为0。 若a数组为[10,2,3,4,5,6,7,8,9,1],函数返回5.5,b数组返回[10,6,7,8,9,0,0,0,0,0]。 |||

cpp 复制代码
//只填写要求的函数
double  fun(int  a[], int  n, int  b[]) {
	int i, j=0;
	double s = 0;
	for (i = 0; i < n; i++) {
		s += a[i];
	}
	s = s / n;
	for (i = 0; i < n; i++) {
		if (a[i] > s) {
			b[j++] = a[i];
            
		}
	}
	return s;
}

编写void fun(unsigned long a)函数,求整型参数a中各位数字是123的个数,通过整型全局变量

|----|---|---|---|
| 题干 | 编写void fun(unsigned long a)函数,求整型参数a中各位数字是123的个数,通过整型全局变量c1,c2,c3返回,三个全局变量已经定义。 若传入1122333145返回3,2,3。 |||

cpp 复制代码
//只填写要求的函数
void  fun(unsigned  long  a) {
	while (a) {
		int t = a % 10;
		if (t == 1) c1++;
		else if (t == 2) c2++;
		else if (t == 3)  c3++;
		a /= 10;
	}
}

编程判断两数是否为亲和数,是显示true否则显示false。

|------|---|---|---|
| 题干 | 编程判断两数是否为亲和数,是显示true否则显示false。 亲和数是指两正整数中,彼此的全部真约数(除了本身)之和与另一方相等,如220的约数1+2+4+5+10+11+20+22+44+55+110=284,而284的约数和等于220。 其他的亲和数如:1184和1210、2620和2924、5020和5564等。 输入第一行整数T为组数 后面输入T组测试数 |||
| 输入样例 | 2 220 284 1184 1212 |||
| 输出样例 | true false |||

cpp 复制代码
#include<cstdio>
#include<iostream>
using namespace std;
int main(){
int n,a,b,count=0,count1=0;
cin>>n;//组数

for(int i=1;i<=n;i++){
cin>>a>>b;//两个数
    count=count1=0;
for(int j=1;j<a;j++){
    if(a%j==0)count+=j;
}
for(int k=1;k<b;k++){
    if(b%k==0)count1+=k;
}
if(count==b&&count1==a)cout<<"true"<<endl;
else cout<<"false"<<endl;
}
return 0;
}
相关推荐
功德+n5 分钟前
Linux下安装与配置Docker完整详细步骤
linux·运维·服务器·开发语言·docker·centos
明日清晨7 分钟前
python扫码登录dy
开发语言·python
我是唐青枫12 分钟前
C#.NET gRPC 深入解析:Proto 定义、流式调用与服务间通信取舍
开发语言·c#·.net
JJay.17 分钟前
Kotlin 高阶函数学习指南
android·开发语言·kotlin
bazhange20 分钟前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
jinanwuhuaguo21 分钟前
截止到4月8日,OpenClaw 2026年4月更新深度解读剖析:从“能力回归”到“信任内建”的范式跃迁
android·开发语言·人工智能·深度学习·kotlin
froginwe1127 分钟前
CSS 创建:从基础到高级
开发语言
计算机安禾39 分钟前
【数据结构与算法】第36篇:排序大总结:稳定性、时间复杂度与适用场景
c语言·数据结构·c++·算法·链表·线性回归·visual studio
无限进步_1 小时前
【C++】电话号码的字母组合:从有限处理到通用解法
开发语言·c++·ide·windows·git·github·visual studio
JJay.1 小时前
Android Kotlin 协程使用指南
android·开发语言·kotlin