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;
}
相关推荐
踏着七彩祥云的小丑8 分钟前
pytest——Mark标记
开发语言·python·pytest
Dream of maid22 分钟前
Python12(网络编程)
开发语言·网络·php
W23035765731 小时前
经典算法:最长上升子序列(LIS)深度解析 C++ 实现
开发语言·c++·算法
.Ashy.1 小时前
2026.4.11 蓝桥杯软件类C/C++ G组山东省赛 小记
c语言·c++·蓝桥杯
Y4090011 小时前
【多线程】线程安全(1)
java·开发语言·jvm
2401_892070981 小时前
链栈(链式栈) 超详细实现(C 语言 + 逐行精讲)
c语言·数据结构·链栈
不爱吃炸鸡柳1 小时前
Python入门第一课:零基础认识Python + 环境搭建 + 基础语法精讲
开发语言·python
minji...2 小时前
Linux 线程同步与互斥(三) 生产者消费者模型,基于阻塞队列的生产者消费者模型的代码实现
linux·运维·服务器·开发语言·网络·c++·算法
Dxy12393102162 小时前
Python基于BERT的上下文纠错详解
开发语言·python·bert